/*
Robotics object oriented package in C++
Copyright (C) 2008-2009  Matrix

This library is free software; you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
published by the Free Software Foundation; either version 2.1 of the
License, or (at your option) any later version.

This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston,  MA 02111-1307  USA
*/

#include "stdafx.h"
#include "Chain.h"
#include <list>

namespace RobotPlant { namespace Mechanism{
	using namespace std;
	using namespace RobotPlant::Math;

	Controller::Controller(Chain *pRobot, MotionPlanning* motionPlanning)
	{
		_pRobot = pRobot;
		_pMotionPlanning = motionPlanning;
	}

	Controller::~Controller()
	{
		if(_pRobot != NULL)
		{
			delete _pRobot;
			_pRobot = NULL;
		}
		if(_pMotionPlanning != NULL)
		{
			delete _pMotionPlanning;
			_pMotionPlanning = NULL;
		}
	} 

	Chain* Controller::GetChain()
	{
		return _pRobot;
	}

	MotionPlanning* Controller::GetMotionPlanning()
	{
		return _pMotionPlanning;
	}
}}